import request from '@/config/axios'

// 软件文件 VO
export interface SoftwareFileVO {
  id?: number // 文件ID
  fileType: string // 文件类型
  fileName: string // 文件名称
  filePath: string // 文件路径
  fileSize: number // 文件大小
  description: string // 文件描述
}

// 软件信息 VO
export interface SoftwareInfoVO {
  id: number // 软件ID
  name: string // 软件名称
  version: string // 软件版本
  description: string // 软件描述
  developer: string // 开发商
  category: string // 软件类别
  status: number // 状态
  fileList?: SoftwareFileVO[] // 文件列表
  updateContent?: string // 更新内容
  createBy: string // 创建者
  updateBy: string // 更新者
}

// 软件信息 API
export const SoftwareInfoApi = {
  // 查询软件信息分页
  getSoftwareInfoPage: async (params: any) => {
    return await request.get({ url: `/compo/software-info/page-with-file-list`, params })
  },

  // 查询软件信息详情
  getSoftwareInfo: async (id: number) => {
    return await request.get({ url: `/compo/software-info/get?id=` + id })
  },

  // 新增软件信息
  createSoftwareInfo: async (data: SoftwareInfoVO) => {
    return await request.post({ url: `/compo/software-info/create-with-file`, data })
  },

  // 修改软件信息
  updateSoftwareInfo: async (data: SoftwareInfoVO) => {
    return await request.put({ url: `/compo/software-info/update-with-file`, data })
  },

  // 删除软件信息
  deleteSoftwareInfo: async (id: number) => {
    return await request.delete({ url: `/compo/software-info/delete?id=` + id })
  },

  // 导出软件信息 Excel
  exportSoftwareInfo: async (params) => {
    return await request.download({ url: `/compo/software-info/export-excel`, params })
  },
}
